// Generated from V3.g4 by ANTLR 4.8
import org.antlr.v4.runtime.tree.ParseTreeVisitor;

/**
 * This interface defines a complete generic visitor for a parse tree produced
 * by {@link V3Parser}.
 *
 * @param <T> The return type of the visit operation. Use {@link Void} for
 * operations with no return type.
 */
public interface V3Visitor<T> extends ParseTreeVisitor<T> {
	/**
	 * Visit a parse tree produced by {@link V3Parser#script}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitScript(V3Parser.ScriptContext ctx);
	/**
	 * Visit a parse tree produced by {@link V3Parser#stmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitStmt(V3Parser.StmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link V3Parser#simpleStmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSimpleStmt(V3Parser.SimpleStmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link V3Parser#intenseStmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIntenseStmt(V3Parser.IntenseStmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link V3Parser#runToolStmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRunToolStmt(V3Parser.RunToolStmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link V3Parser#notifyStmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNotifyStmt(V3Parser.NotifyStmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link V3Parser#paramStmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitParamStmt(V3Parser.ParamStmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link V3Parser#place}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPlace(V3Parser.PlaceContext ctx);
	/**
	 * Visit a parse tree produced by {@link V3Parser#listenStmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitListenStmt(V3Parser.ListenStmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link V3Parser#scheduleStmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitScheduleStmt(V3Parser.ScheduleStmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link V3Parser#timeAdverbial}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTimeAdverbial(V3Parser.TimeAdverbialContext ctx);
	/**
	 * Visit a parse tree produced by {@link V3Parser#period}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPeriod(V3Parser.PeriodContext ctx);
	/**
	 * Visit a parse tree produced by {@link V3Parser#delay}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDelay(V3Parser.DelayContext ctx);
	/**
	 * Visit a parse tree produced by {@link V3Parser#complexStmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitComplexStmt(V3Parser.ComplexStmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link V3Parser#ifStmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIfStmt(V3Parser.IfStmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link V3Parser#conditionStmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitConditionStmt(V3Parser.ConditionStmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link V3Parser#loopStmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLoopStmt(V3Parser.LoopStmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link V3Parser#setStmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSetStmt(V3Parser.SetStmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link V3Parser#value}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitValue(V3Parser.ValueContext ctx);
	/**
	 * Visit a parse tree produced by {@link V3Parser#authoriseStmt}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAuthoriseStmt(V3Parser.AuthoriseStmtContext ctx);
	/**
	 * Visit a parse tree produced by {@link V3Parser#timeFrame}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTimeFrame(V3Parser.TimeFrameContext ctx);
}